// CPPFLAGS="-I/var/tmp/niluje/zyre/include -I/var/tmp/niluje/libzmq/include -I/var/tmp/niluje/czmq/include -I/var/tmp/niluje/filemq/include"
#include <zyre.h>
#include <zre_msg.h>
#include <zmq.h>
#include <czmq.h>
#include <fmq.h>

#include "ffi-cdecl.h"

cdecl_type(zctx_t)
cdecl_type(zmsg_t)
cdecl_type(zhash_t)
cdecl_type(zsock_t)
cdecl_type(zframe_t)
cdecl_type(zpoller_t)
//cdecl_type(zsocket_t)
cdecl_type(zyre_t)
cdecl_type(zre_msg_t)
cdecl_type(zyre_event_t)

cdecl_type(zyre_event_type_t)
//cdecl_type(zmq_socket_type_t) -> Was unrolled as a set of defines:
cdecl_const(ZMQ_PAIR)
cdecl_const(ZMQ_PUB)
cdecl_const(ZMQ_SUB)
cdecl_const(ZMQ_REQ)
cdecl_const(ZMQ_REP)
cdecl_const(ZMQ_DEALER)
cdecl_const(ZMQ_ROUTER)
cdecl_const(ZMQ_PULL)
cdecl_const(ZMQ_PUSH)
cdecl_const(ZMQ_XPUB)
cdecl_const(ZMQ_XSUB)
cdecl_const(ZMQ_STREAM)
//cdecl_type(zmq_socket_option_t) -> Was unrolled as a set of defines:
cdecl_const(ZMQ_AFFINITY)
cdecl_const(ZMQ_IDENTITY)
cdecl_const(ZMQ_SUBSCRIBE)
cdecl_const(ZMQ_UNSUBSCRIBE)
cdecl_const(ZMQ_RATE)
cdecl_const(ZMQ_RECOVERY_IVL)
cdecl_const(ZMQ_SNDBUF)
cdecl_const(ZMQ_RCVBUF)
cdecl_const(ZMQ_RCVMORE)
cdecl_const(ZMQ_FD)
cdecl_const(ZMQ_EVENTS)
cdecl_const(ZMQ_TYPE)
cdecl_const(ZMQ_LINGER)
cdecl_const(ZMQ_RECONNECT_IVL)
cdecl_const(ZMQ_BACKLOG)
cdecl_const(ZMQ_RECONNECT_IVL_MAX)
cdecl_const(ZMQ_MAXMSGSIZE)
cdecl_const(ZMQ_SNDHWM)
cdecl_const(ZMQ_RCVHWM)
cdecl_const(ZMQ_MULTICAST_HOPS)
cdecl_const(ZMQ_RCVTIMEO)
cdecl_const(ZMQ_SNDTIMEO)
cdecl_const(ZMQ_LAST_ENDPOINT)
cdecl_const(ZMQ_ROUTER_MANDATORY)
cdecl_const(ZMQ_TCP_KEEPALIVE)
cdecl_const(ZMQ_TCP_KEEPALIVE_CNT)
cdecl_const(ZMQ_TCP_KEEPALIVE_IDLE)
cdecl_const(ZMQ_TCP_KEEPALIVE_INTVL)
cdecl_const(ZMQ_TCP_ACCEPT_FILTER)
cdecl_const(ZMQ_IMMEDIATE)
cdecl_const(ZMQ_XPUB_VERBOSE)
cdecl_const(ZMQ_ROUTER_RAW)
cdecl_const(ZMQ_IPV6)
cdecl_const(ZMQ_MECHANISM)
cdecl_const(ZMQ_PLAIN_SERVER)
cdecl_const(ZMQ_PLAIN_USERNAME)
cdecl_const(ZMQ_PLAIN_PASSWORD)
cdecl_const(ZMQ_CURVE_SERVER)
cdecl_const(ZMQ_CURVE_PUBLICKEY)
cdecl_const(ZMQ_CURVE_SECRETKEY)
cdecl_const(ZMQ_CURVE_SERVERKEY)
cdecl_const(ZMQ_PROBE_ROUTER)
cdecl_const(ZMQ_REQ_CORRELATE)
cdecl_const(ZMQ_REQ_RELAXED)
cdecl_const(ZMQ_CONFLATE)
cdecl_const(ZMQ_ZAP_DOMAIN)
cdecl_const(ZMQ_ROUTER_HANDOVER)
cdecl_const(ZMQ_TOS)
cdecl_const(ZMQ_IPC_FILTER_PID)
cdecl_const(ZMQ_IPC_FILTER_UID)
cdecl_const(ZMQ_IPC_FILTER_GID)
cdecl_const(ZMQ_CONNECT_RID)
cdecl_const(ZMQ_GSSAPI_SERVER)
cdecl_const(ZMQ_GSSAPI_PRINCIPAL)
cdecl_const(ZMQ_GSSAPI_SERVICE_PRINCIPAL)
cdecl_const(ZMQ_GSSAPI_PLAINTEXT)
cdecl_const(ZMQ_HANDSHAKE_IVL)
cdecl_const(ZMQ_IDENTITY_FD)

cdecl_func(zyre_new)
cdecl_func(zyre_destroy)
cdecl_func(zyre_uuid)
cdecl_func(zyre_name)
cdecl_func(zyre_set_name)
cdecl_func(zyre_set_header)
cdecl_func(zyre_set_verbose)
cdecl_func(zyre_set_port)
cdecl_func(zyre_set_interval)
cdecl_func(zyre_set_interface)
cdecl_func(zyre_start)
cdecl_func(zyre_stop)
cdecl_func(zyre_join)
cdecl_func(zyre_leave)
cdecl_func(zyre_recv)
cdecl_func(zyre_whisper)
cdecl_func(zyre_shout)
cdecl_func(zyre_whispers)
cdecl_func(zyre_shouts)
cdecl_func(zyre_socket)
cdecl_func(zyre_dump)
cdecl_func(zyre_event_new)
cdecl_func(zyre_event_destroy)
cdecl_func(zyre_event_type)
cdecl_func(zyre_event_sender)
cdecl_func(zyre_event_name)
cdecl_func(zyre_event_address)
cdecl_func(zyre_event_header)
cdecl_func(zyre_event_group)

cdecl_func(zmq_getsockopt)

cdecl_func(zctx_new)
cdecl_func(zctx_destroy)
cdecl_func(zsocket_new)
cdecl_func(zsocket_connect)
cdecl_func(zsocket_set_identity)
cdecl_func(zsocket_identity)
cdecl_func(zsocket_destroy)
cdecl_func(zframe_recv)
cdecl_func(zframe_size)
cdecl_func(zframe_data)

cdecl_func(zmsg_new)
cdecl_func(zmsg_size)
cdecl_func(zmsg_addmem)
cdecl_func(zmsg_send)
cdecl_func(zmsg_popstr)
cdecl_func(zstr_free)
cdecl_func(zmsg_pop)
cdecl_func(zhash_unpack)
cdecl_func(zhash_first)
cdecl_func(zhash_next)
cdecl_func(zhash_cursor)
cdecl_func(zhash_lookup)
cdecl_func(zmsg_destroy)
cdecl_func(zhash_destroy)
cdecl_func(zframe_destroy)

cdecl_func(zpoller_new)
cdecl_func(zpoller_destroy)
cdecl_func(zpoller_add)
cdecl_func(zpoller_wait)
cdecl_func(zpoller_expired)
cdecl_func(zpoller_terminated)

cdecl_type(fmq_server_t)
cdecl_type(fmq_client_t)

cdecl_func(fmq_server_new)
cdecl_func(fmq_server_destroy)
cdecl_func(fmq_server_configure)
cdecl_func(fmq_server_setoption)
cdecl_func(fmq_server_bind)
//cdecl_func(fmq_server_recv)
cdecl_func(fmq_server_publish)
cdecl_func(fmq_server_set_anonymous)

cdecl_func(fmq_client_new)
cdecl_func(fmq_client_destroy)
cdecl_func(fmq_client_configure)
cdecl_func(fmq_client_setoption)
cdecl_func(fmq_client_connect)
cdecl_func(fmq_client_recv)
cdecl_func(fmq_client_handle)
cdecl_func(fmq_client_subscribe)
cdecl_func(fmq_client_set_inbox)
cdecl_func(fmq_client_set_resync)
